package cn.xiangyuanpin.dao.impl;

import cn.xiangyuanpin.dao.BookDao;
import cn.xiangyuanpin.pojo.Book;

import java.util.List;

public class BookDaoImpl extends BaseDao implements BookDao {
    @Override
    public Integer addBook(Book book) {
      String sql="insert into t_book(name,author,price,sales,stock,img_path) values(?,?,?,?,?,?)";
  return update(sql,book.getName(),book.getAuthor(),book.getPrice(),book.getSales(),book.getStock(),book.getImgPath());
    }

    @Override
    public Integer deleteBookById(Integer id) {
        String sql="delete from t_book where id = ?";
     return update(sql,id);
    }

    @Override
    public Integer updateBook(Book book) {
        String sql="update t_book set name=?,author=?,price=?,sales=?,stock=?,img_path=? where id=?";
        return update(sql,book.getName(),book.getAuthor(),
                book.getPrice(),book.getSales(),book.getStock(),book.getImgPath(),book.getId());
    }

    @Override
    public Book queryBookById(Integer id) {
        String sql="select id,name,author,price,sales,stock,img_path imgPath from  t_book  where id=?";
        return queryForOne(Book.class,sql,id);
    }

    @Override
    public List<Book> queryBooks() {
        String sql="select id,name,author,price,sales,stock,img_path imgPath from  t_book";
        return  queryForList(Book.class,sql);
    }

    @Override
    public Integer queryForPageTotalCount() {
      String sql="select count(*) from t_book";
        Number number= (Number) queryForSingleValue(sql);
        return number.intValue();

    }

    @Override
    public List<Book> queryForPageItems(int begin, int pageSize) {
        String sql="select id,name,author,price,sales,stock,img_path imgPath from  t_book limit ?,?";
        return queryForList(Book.class,sql,begin,pageSize);
    }
}
